'use strict'
const titbit=require('titbit')
const {cookie,session}=require('titbit-toolkit')
const token=require('titbit-token')
let tok=new token({
    //token有效期，单位是秒
    expires:30,
    //必须是32位数子字母
    key:'qwertyuiopasdfghjklzxcvbnm123456',
    //必须是16位数字字母
    iv:'1234567890qwerty'
})
const app=new titbit({
    debug:true
})
app.use(new cookie)
   .use(new session)
app.use(async (c,next)=>{
    c.setHeader('x-test-key',`${Math.random}`)
    await next()
})
app.use(async (c,next)=>{
   if(c.query.say==='12345'){
    await next()
    }else{
        c.status(403).send('deny')
    }
},{name:['home'],method:['GET']})
app.get('/',async c=>{
    c.send('ok')
},{name:'home',group:'home'})//给路由起了一个名，给这个命名一个分组
app.get('/test',async c=>{
    c.send('test is ok')
})
//文件形的session文件处理
// app.get('/:x/:y',async c=>{
//     c.setSession('x',c.param.x)
//     c.setSession('y',c.param.y)
//     c.send(c.getSession())
// })
app.get('/token',async c=>{
  let tk=tok.make({
      id:'123',
      user:'node',
      level:'12'
  })
  c.send(tk)
})
app.get('/decrypt/:token',async c=>{
    c.send(tok.verify(c.param.token))
})
app.run(1235)